package xian.woniuxy.zh_generic.g;

import java.util.ArrayList;
import java.util.List;

class A {
    void f1() {

    }
}
class B extends A {
    void f2() {

    }
}

class C extends B {
    void f3() {

    }
}

class D extends C {
    void f4() {

    }
}

class E extends D {
    void f5() {

    }
}

public class App {

    public static void f1(List<A> list) {
        list.add(new A());
        list.add(new B());
        list.add(new C());
        list.add(new D());


    }
    public static void main(String[] args) {
        f1(new ArrayList<A>());
        // 因为泛型不支持向上转型。
        // Can't compile
//        f1(new ArrayList<B>());  // 泛型集合，是同构，什么叫同构，就是集合中的元素必须是同一个类型
//        f1(new ArrayList<C>());
//        f1(new ArrayList<D>());
    }
}
